﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using LiquidacionComisionREST.Dominio;


namespace LiquidacionComisionREST
{
    [ServiceContract]
    public interface ICategorias
    {
        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Categorias/ListarCategorias/{codigo}/{nombre}", ResponseFormat = WebMessageFormat.Json)]
        List<Categoria> ListarCategorias(string codigo, string nombre);

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Categorias/ListarCategoriasPorCodigo/{codigo}", ResponseFormat = WebMessageFormat.Json)]
        List<Categoria> ListarCategoriasPorCodigo(string codigo);

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Categorias/ListarCategoriasPorNombre/{nombre}", ResponseFormat = WebMessageFormat.Json)]
        List<Categoria> ListarCategoriasPorNombre(string nombre);

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Categorias/ListarTodos", ResponseFormat = WebMessageFormat.Json)]
        List<Categoria> ListarTodos();

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Categorias/RegistrarCategoria/{codigo}/{nombre}/{precio}", ResponseFormat = WebMessageFormat.Json)]
        Categoria RegistrarCategoria(string codigo, string nombre, string precio);

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Categorias/ModificarCategoria/{codigo}/{nombre}/{precio}", ResponseFormat = WebMessageFormat.Json)]
        Categoria ModificarCategoria(string codigo, string nombre, string precio);

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Categorias/ObtenerCategoria/{codigo}", ResponseFormat = WebMessageFormat.Json)]
        Categoria ObtenerCategoria(string codigo);

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Categorias/EliminarCategoria/{codigo}", ResponseFormat = WebMessageFormat.Json)]
        string EliminarCategoria(string codigo);        

    }
}
